/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package restaurante.dao;

import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.List;
import restaurante.bancodados.CriaConexao;
import restaurante.logica.RefeicaoProduto;

/**
 *
 * @author Fernanda
 */
public class RefeicaoProdutoDao {
    private Connection conexao;

    public RefeicaoProdutoDao() throws SQLException{
        this.conexao = CriaConexao.getConexao();
    }

    public void adiciona(RefeicaoProduto p) throws SQLException{
        String  sql = "insert into refeicao_produto (id_refeicao,id_produto,quantidade) " +
                "values (?,?,?)";
        PreparedStatement stmt = conexao.prepareStatement(sql);

        // Seta os valores
        stmt.setString(1, String.valueOf(p.getId_refeicao()));
        stmt.setString(2, String.valueOf(p.getId_produto()));
        stmt.setString(3, String.valueOf(p.getQuantidade()));

        // Executa o código SQL
        stmt.execute();
        stmt.close();
    }

    public  List<RefeicaoProduto> getLista(String busca) throws SQLException{
        String sql = "Select * from refeicao where id_refeicao=?";
        PreparedStatement stmt = this.conexao.prepareStatement(sql);

        stmt.setString(1, busca);       // inserção do caracter de busca.

        ResultSet rs = stmt.executeQuery();

        List<RefeicaoProduto> minhaLista = new ArrayList<RefeicaoProduto>();

        while(rs.next()){
            RefeicaoProduto p1 = new RefeicaoProduto();
            p1.setId_refeicao(rs.getInt("id_refeicao"));
            p1.setId_produto(rs.getInt("id_produto"));
            p1.setQuantidade(rs.getInt("quantidade"));

            minhaLista.add(p1);
        }

        rs.close();
        stmt.close();
        return minhaLista;
    }


/*    public void altera(RefeicaoProduto p1) throws SQLException{
        String sql = "update refeicao_produto set valor_total=? where id=?";
        PreparedStatement stmt = conexao.prepareStatement(sql);

        // Seta os valores

        stmt.setString(1, String.valueOf(p1.getValor_total()));
        stmt.setString(2, String.valueOf(p1.getId()));

        // Executa o código SQL
        stmt.execute();
        stmt.close();

    }   */

    public void remove(RefeicaoProduto p1) throws SQLException{
        String sql = "delete from refeicao where id_refeicao=? and id_produto=?";
        PreparedStatement stmt = conexao.prepareStatement(sql);

        stmt.setString(1, String.valueOf(p1.getId_refeicao()));
        stmt.setString(1, String.valueOf(p1.getId_produto()));

        stmt.execute();
        stmt.close();

    }


}
